filechooserentry: Split out function
authorBenjamin Otte <otte@redhat.com>
Sat, 5 Nov 2011 02:28:02 +0000 (03:28 +0100)
committerBenjamin Otte <otte@redhat.com>
Fri, 16 Dec 2011 19:09:12 +0000 (20:09 +0100)
I want to use that function elsewhere, so split it out.

gtk/gtkfilechooserentry.c

index 94e01d5f8e4502be2ee4b9267953baca7cab7f12..11d18382b7bf03a84eba38070532febed90a0342 100644 (file)
@@ -426,6 +426,20 @@ has_uri_scheme (const char *str)
   return (strncmp (p, "://", 3) == 0);
 }
 
+static GFile *
+gtk_file_chooser_get_file_for_text (GtkFileChooserEntry *chooser_entry,
+                                    const gchar         *str)
+{
+  GFile *file;
+
+  if (str[0] == '~' || g_path_is_absolute (str) || has_uri_scheme (str))
+    file = g_file_parse_name (str);
+  else
+    file = g_file_resolve_relative_path (chooser_entry->base_folder, str);
+
+  return file;
+}
+
 static gboolean
 gtk_file_chooser_entry_parse (GtkFileChooserEntry  *chooser_entry,
                               const gchar          *str,
@@ -443,10 +457,7 @@ gtk_file_chooser_entry_parse (GtkFileChooserEntry  *chooser_entry,
 
   last_slash = strrchr (str, G_DIR_SEPARATOR);
 
-  if (str[0] == '~' || g_path_is_absolute (str) || has_uri_scheme (str))
-    file = g_file_parse_name (str);
-  else
-    file = g_file_resolve_relative_path (chooser_entry->base_folder, str);
+  file = gtk_file_chooser_get_file_for_text (chooser_entry, str);
 
   if (g_file_equal (chooser_entry->base_folder, file))
     {